package main.java.design.flyweight;

/**
 * <p>
 *     具体享元角色：实现抽象享元角色所规定的接口。如果有内部状态的话，必须负责为内部状态提供存储空间。
 *     享元对象的内部状态必须与对象所处的周围环境无关，从而使得享元对象可以在系统内共享。有时候具体享元角色
 *     又叫做单纯具体享元角色，因为复合享元角色是由单纯具体享元角色通过复合而成的。
 * </p>
 *
 * @author : wangdejian
 * @version 1.0
 * @date : 2020/6/15 21:47
 */
public class WeiqiFlyweight implements Flyweight {
    // 内部状态
    private String color;

    public WeiqiFlyweight(String color) {
        this.color = color;
    }

    @Override
    public void playGo(Position position) {

        System.out.println(color + "棋子," + "下在" + position.getX() + "," + position.getY());
    }
}
